Skip to content

quic: Resurrect prq svc queue #5481

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

akhinvasara-jumptrading
Copy link
Contributor

@akhinvasara-jumptrading akhinvasara-jumptrading commented Jun 27, 2025

This PR re-applies the previously reverted commit to use a prq as the underlying data structure for the quic service queue. It also fixes the associated bugs that caused the initial reversion. This has been tested on both testnet and mainnet validators.

Probably worth looking at the commits separately - the first is just reverting the revert.

@ripatel-fd
Copy link
Contributor

ripatel-fd commented Jul 2, 2025

@akhinvasara-jumptrading Kevin is working on a new fast nanosecond-based clock source. This allows us to retire fd_tickcount(). We might want to wait for that feature to arrive before merging this, because it eliminates the time scaling class of bugs. (No strong opinion on this though. If you think it's a good idea to merge this now, we shall do so.)

@akhinvasara-jumptrading akhinvasara-jumptrading force-pushed the akhin/apply_svc_fix_2216 branch 7 times, most recently from 68a9aa3 to 55400fd Compare July 18, 2025 00:25
This reverts commit 543e6f0fb72451eb6294f249c135322e05b8a50d.
      reset next_timeout in svc_schedule

      fix retx timeout ticks/ns issue

      prep schedule in gen_frames

      CRIT if svc_timer_cnt != active_conn_cnt

      schedule idle_timeout from last_activity, not now

      test_quic_conformance: update for service heap
      fix test_quic_keep_alive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants